//
// Created by tacom on 22-9-7.
// 本部分代理python中的CTBD处理部分，返回的内容是CTBD_list，计算结果列表

#ifndef CVCUDAIMPL_CTBD_H
#define CVCUDAIMPL_CTBD_H

#include "opencv2/opencv.hpp"
#include "vector"
#include "intersection.h"

class CTBD {
public:
    typedef std::vector<int> CTBD_LIST;
    typedef std::string FILE_PATH;
    typedef std::vector<std::string> FILE_NAME_LIST;
    typedef std::vector<std::vector<int>> USABLE_MATRIX;

    CTBD_LIST
    CTBDPredict(cv::Mat &bigMatrix, USABLE_MATRIX &matrixShape,
                int height, int width, int stride, intersection &sectionPredictor,
                CTBD::FILE_NAME_LIST &fileNameList, CTBD::FILE_PATH &refineSavePath, CTBD::FILE_PATH &segSavePath);

    static std::string pathCombine(const std::string &path, const std::string &fileName);

};


#endif //CVCUDAIMPL_CTBD_H
